package com.yyc;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.ApplicationContext;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import com.yyc.utils.SpringContextUtil;


/**
 * 
 * @Description： 功能描述
 * 
 * @author [ Wenfeng.Huang ] on [2018年8月24日下午5:25:02]
 * @Modified By： [修改人] on [修改日期] for [修改说明]
 *
 */
@EnableCaching
@SpringBootApplication
@EnableTransactionManagement
@ServletComponentScan
public class Application implements CommandLineRunner {
	/*
	 * 实际应用中，我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。 为了解决这样的问题，Spring Boot
	 * 为我们提供了一个方法，通过实现接口 CommandLineRunner 来实现。
	 */

	private Logger logger = LoggerFactory.getLogger(Application.class);

	public static void main(String[] args) {
		//SpringApplication.run(Application.class, args);
		ApplicationContext app = SpringApplication.run(Application.class, args);
		SpringContextUtil.setApplicationContext(app);
	}

	@Override
	public void run(String... args) throws Exception {
		logger.info("服务启动完成!");
	}
}
